using System;
using System.Collections.Generic;
using System.Text;

namespace CodePlex.Resourceful
{
  
    public delegate void Operation();
    public delegate void Operation<T0>(T0 item0);
    public delegate void Operation<T0, T1>(T0 item0, T1 item1);
    public delegate void Operation<T0, T1, T2>(T0 item0, T1 item1, T2 item2);
    public delegate void Operation<T0, T1, T2, T3>(T0 item0, T1 item1, T2 item2, T3 item3);
    public delegate void Operation<T0, T1, T2, T3, T4>(T0 item0, T1 item1, T2 item2, T3 item3, T4 item4);



    public delegate TResult Fn<TResult>();
    public delegate TResult Fn<T0, TResult>(T0 item0);
    public delegate TResult Fn<T0, T1, TResult>(T0 item0, T1 item1);
    public delegate TResult Fn<T0, T1, T2, TResult>(T0 item0, T1 item1, T2 item2);
    public delegate TResult Fn<T0, T1, T2, T3, TResult>(T0 item0, T1 item1, T2 item2, T3 item3);
    public delegate TResult Fn<T0, T1, T2, T3, T4, TResult>(T0 item0, T1 item1, T2 item2, T3 item3, T4 item4);
}
